home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1999 March / EnigmA AMIGA RUN 35 (1999)(G.R. Edizioni)(IT)[!][issue 1999-03].iso / earcd / devel / vbcc-ppc / machines / amigappc / include / stdlib.h < prev    next >
C/C++ Source or Header  |  1999-01-01  |  2KB  |  84 lines

  1. /* stdlib.h - vbcc PowerPC */
  2.  
  3. #ifndef __STDLIB_H
  4. #define __STDLIB_H 1
  5.  
  6. #ifndef __SIZE_T
  7. #define __SIZE_T 1
  8. typedef unsigned long size_t;
  9. #endif
  10.  
  11. #ifndef __WCHAR_T
  12. #define __WCHAR_T 1
  13. typedef char wchar_t;
  14. #endif
  15.  
  16. #undef NULL
  17. #define NULL ((void *)0)
  18.  
  19. #undef EXIT_FAILURE
  20. #define EXIT_FAILURE 20
  21. #undef EXIT_SUCCESS
  22. #define EXIT_SUCCESS 0
  23.  
  24. #undef RAND_MAX
  25. #define RAND_MAX 32768
  26.  
  27.  
  28. void exit(int);
  29. void *malloc(size_t);
  30. void *calloc(size_t,size_t);
  31. void *realloc(void *,size_t);
  32. void free(void *);
  33. int system(const char *);
  34. int rand(void);
  35. void srand(unsigned int);
  36. double atof(const char *);
  37. int atoi(const char *);
  38. long atol(const char *);
  39. double strtod(const char *,char **);
  40. long strtol(const char *,char **,int);
  41. unsigned long strtoul(const char *,char **,int);
  42. void abort(void);
  43. int atexit(void (*)(void));
  44. char *getenv(const char *);
  45. void *bsearch(const void *,const void *,size_t,size_t,int (*)(const void *,const void *));
  46. void qsort(void *,size_t,size_t,int (*)(const void *,const void *));
  47.  
  48. /* PowerPC inline functions */
  49. int abs(__reg("r3") int) =
  50.                 "\tcmpwi\t3,0\n"
  51.                 "\tbge\t$+8\n"
  52.                 "\tneg\t3,3\n"
  53.                 "#barrier";
  54. long labs(__reg("r3") long) =
  55.                 "\tcmpwi\t3,0\n"
  56.                 "\tbge\t$+8\n"
  57.                 "\tneg\t3,3\n"
  58.                 "#barrier";
  59.  
  60. typedef struct {
  61.     int quot,rem;
  62. } div_t;
  63.  
  64. typedef struct {
  65.     long quot,rem;
  66. } ldiv_t;
  67.  
  68. div_t div(int,int);
  69. ldiv_t ldiv(long,long);
  70.  
  71. extern size_t _nalloc;
  72.  
  73. #define atof(s) strtod((s),(char **)NULL)
  74. #define atoi(s) (int)strtol((s),(char **)NULL,10)
  75. #define atol(s) strtol((s),(char **)NULL,10)
  76.  
  77. struct __exitfuncs{
  78.     struct __exitfuncs *next;
  79.     void (*func)(void);
  80. };
  81.  
  82. #endif
  83.  
  84.